# 为什么要起别名?
# 1. 简化调用方式: 有些模块或功能名称过长, 调用层级过多,使用不便
# import multiprocessing
# 2. 如果出现同名功能,必须起别名,否则无法调用.(后导入覆盖先导入)
# 3. 约定俗成:  例如  import pandas as pd   import numpy as np

# 给模块起别名
import random as rd

# import random as rd, os as o  # 不要这样写

# 给模块起别名后,原来的模块名称将无法继续使用
# NameError: name 'random' is not defined
# print(random.randint(1, 10))
print(rd.randint(1, 10))

# 给功能起别名
from random import randint as rdt

# 给功能起别名后,原来的功能名称将无法继续使用
# NameError: name 'randint' is not defined
# print(randint(1, 3))
print(rdt(1, 3))

# 如果一次性导入多个功能,如何起别名呢?
# 需要在被起别名的功能后添加as 别名
from random import randint as rdt, random as rd, randrange as rdr

print(rdt(1, 3))
print(rd())
print(rdr(1, 3))

